home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-06-22 | 1.6 KB | 76 lines | [TEXT/MPS ] |
- // TCityMap.cp
- // Copyright © 1992 Emergent Behavior. All rights reserved.
-
-
- #ifndef _CITYMAP_
- #define _CITYMAP_
-
- #ifndef _QUICKDRAW_
- #include <QuickDraw.h>
- #endif
-
- #ifndef _GATYPES_
- #include <GATypes.h>
- #endif
-
- #ifndef __MATH__
- #include <Math.h>
- #endif
-
- typedef float Distance;
- typedef short City;
- typedef City* Route;
- typedef short Importance;
- typedef short CityNumber;
-
-
- //========================================================================
- class TPoint
- {
- public:
- TPoint( void );
- TPoint( short xCoord, short yCoord );
-
- operator Point();
- private:
- Point fPoint;
- };
-
-
- //========================================================================
- class TCityMap
- {
- public:
- // Constructors etc...
- TCityMap( void );
- TCityMap( const TCityMap& sourceMap );
- TCityMap( CityNumber numCities );
- virtual ~TCityMap( void );
- virtual TCityMap* Clone( void );
-
- // Range Calculations
- virtual Distance CalcRouteDistance( Importance* importanceList ) const;
- virtual CityNumber GetNumberCities( void ) const;
- virtual Point* GetCityLocations( void ) const;
- virtual Route SortCities( Importance* importanceList ) const;
-
-
- protected:
- // Range Calculations
- virtual Distance CalcTotalDistance( Route theRoute ) const;
- virtual Distance GetCityDistance( City city1, City city2 ) const;
-
- virtual void DecideCityLocations( void );
- virtual void GenerateDistanceTable( void );
- virtual void AllocateDistanceTable( void );
- virtual void SetNumberCities( CityNumber numCities );
- virtual void SetCityLocations( Point* cityLocations );
-
- private:
- Distance** fDistanceTable;
- Point* fCityLocations;
- CityNumber fNumberCities;
- };
-
-
- #endif